package com.etc.Day9;

import com.etc.Day3.Dog;
import com.etc.Day7.Cat;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

/**
 * @Author kalista
 * @Description
 * @Date 2020/10/30  11:18
 **/
public class ListTesT {
    public static void main(String[] args) {
        // java 集合框架  数据结构   数组   链表  集合  栈  队列  散列表   图  树
        // list  集合    set   map
        // list接口 实现类有哪些    ArrayList    LinkedList
//        ArrayList 数组实现
//        LinkedList 链表实现

        // 1.  创建集合   建议泛型 指定得类型  注意点： 在泛型中只能放引用数据类型 // <>   泛型  c++底层实现  其内部原理异常复杂
        List<String> objectList = new ArrayList<>();
        // 2. 添加数据
        objectList.add("wangcc1");
        objectList.add("wangcc2");
        objectList.add("wangcc3");
        objectList.add(0,"wangcc4");


        // 3. 取值
//        System.out.println(objectList.get(0));
//        System.out.println(objectList.get(2));
        // 4. 遍历

        // 第一方式 普通for循环
        for (int i = 0; i < objectList.size(); i++) {
            System.out.println(objectList.get(i));
        }
        // 第二方法  增强for
        for (String str : objectList) {
            System.out.println(str);
        }
        // 第三种方法 迭代器
        Iterator<String> iterator = objectList.iterator();
        while (iterator.hasNext()){
            String next = iterator.next();
            System.out.println(next);
        }







    }
}
